#pragma once

#ifndef _CTESTCAMERA_H_
#define _CTESTCAMERA_H_

class NiRenderer;
NiSmartPointer(NiMaterialProperty);


class CTestCamera : public NiMemObject
{
public:
	CTestCamera();
	~CTestCamera();

	NiCamera*	GetCamera()	const;
	NiRenderStep*	GetREnderStep()	const;

	void Init();
	void Update();
	void Update(float fTime);
	void Destroy();

public:
	
	NiInputKeyboard*	m_pkKeyboard;
	NiInputMouse*		m_pkMouse;

	NiCamera*			m_spCamera;
	NiTransform			m_kSpawnTm;

	float				m_fCamDist;
	float				m_fCamHeight;
	float				m_fCamPitch;
	float				m_fZoomLevel;
	float				m_fZoomSpped;
	float				m_fMinZoomLevel;
	float				m_fMaxZoomLevel;
	float				m_fHeading;
	float				m_fFrameYaw;
	float				m_fFramePitch;
	float				m_fLastWorldHeight;

	float m_fLastUpdateTime;
};

#endif